#include <stdio.h>
#include <time.h>
#include <stdlib.h>

// 重复的次数
int intervals = 1000 * 1000;

int main() {

	clock_t start, delta;
	double time_used;

	// 记录程序开始时间
	start = clock();
	
	// time(NULL) 得到程序运行嗯的时间
	// 设置随机数种子为当前程序运行时间
	srand(time(NULL));
	
	// 记录落在圆内的点数量
	int point_in_cycle_count = 0;
	// 记录总的点数量
	int point_count = 0;
	
	double pi;
	
	for (int i = 0; i < intervals; i++) {
		// 随机数的区间为 [0, RAND_MAX]
		double rand_x = (double)rand() / RAND_MAX;
		double rand_y = (double)rand() / RAND_MAX;
		
		if (rand_x * rand_x + rand_y * rand_y <= 1) {
			// 随机点落在圆内
			point_in_cycle_count++;
		}
		
		point_count++;
	}
	
	pi = (double)(4 * point_in_cycle_count) / point_count;
	printf("cycle_points=%d, square_points=%d, The estimated PI is %1f\n", point_in_cycle_count, point_count, pi);
	
	// 记录程序执行的时间 （用户空间执行的时间）
	delta = clock() - start;
	
	printf("The time token: %1f seconds\n", (double) delta / CLOCKS_PER_SEC);

	return 0;
}
